variable "ack_cluster_id" {
    default = ""
}
variable "ack_cluster_name" {
    default = ""
}
variable "ack_node_pool_name" {
    default = "np1"
}
variable "ack_vswitch_ids" {
    type = list
    default = []
}
variable "ack_runtime_name" {
    default = "docker"
}
variable "ack_runtime_version" {
    default = "19.03.15"
}
variable "ack_instance_availability_zone" {
  default = "cn-shenzhen-cnszsg-cb"
}
variable "ack_instance_cpu_core_count" {
    default = "4"
}
variable "ack_instance_memory_size" {
    default = "8"
}
variable "ack_instance_type_family" {
    default = "ecs.c6"
}
variable "tags" {
  type = map(string)
  default = {}
}
variable "ack_system_disk_category" {
    default = "cloud_essd"
}
variable "ack_system_disk_size" {
    default = "300"
}
variable "ack_system_disk_performance_level" {
  default = "PL1"
}
variable "ack_security_group_ids" {
    type = list
    default = []
}
variable "ack_key_name" {
    default = "cloud-devops-key"
}
variable "ack_cluster_labels" {
  description = "List of values to assign to cluster_labels"
  type = list(object({
    key           = string
    value         = string
  }))
  default = []
}
variable "ack_cluster_taints" {
  description = "List of values to assign to cluster_taints"
  type = list(object({
    key           = string
    value         = string
    effect        = string
  }))
  default = []
}
variable "ack_scaling_config" {
  type = list(object({
    min_size                    = string
    max_size                    = string
    type                        = string
    is_bond_eip                 = bool
    eip_internet_charge_type    = string
    eip_bandwidth               = string 
  }))
  default = []
  # default = [{
  #   min_size                    = "2"
  #   max_size                    = "10"
  #   type                        = "cpu"
  #   is_bond_eip                 = false
  #   eip_internet_charge_type    = "PayByTraffic"
  #   eip_bandwidth               = "5"
  # }]
  description = "Scaling instance config default using traffic charge type"
}
variable "ack_nodepool_config_management" {
  type = list(object({
    auto_repair           = bool
    auto_upgrade          = bool
    surge                 = string
    max_unavailable       = string  
    surge_percentage      = string  
  }))
  default = [{
    auto_repair           = false
    auto_upgrade          = false
    surge                 = "1"
    max_unavailable       = "1"
    surge_percentage      = "0"
  }]
}
variable "ack_kubelet_configuration" {
  type = list(object({
    registry_pull_qps        = string
    registry_burst           = string
    event_record_qps         = string
    event_burst              = string
    system_reserved_cpu      = string
    system_reserved_memory   = string
    kube_reserved_cpu        = string
    kube_reserved_memory     = string
  }))
  default = []
}

variable "resource_group_id" {
  default = "rg-acfmw2vt737frxy"
  description = "Deeproute.ai aliyun account default resource group"
}
variable "ack_image_id" {
    default = "aliyun_3_x64_20G_alibase_20221102.vhd"
}
variable "scale_down_enabled" {
    type = bool
    default = false
    description = "Specify whether to allow the scale-in of nodes"
}
variable "ack_soc_enabled" {
    default = false
}
variable "ack_spot_strategy" {
    default = "NoSpot"
}
variable "ack_data_disks" {
  type = list(map(string))
  default = []
}